As computers become more ubiquitous, increasing amounts of data become available for retrieval and analysis. Data is typically segregated in some manner, such as being placed in different files or repositories. In a relational database, data is typically segregated by tables, also referred to as relations or entities. In some cases, tables can be organized to correspond with analog world objects and processes. For instance, different tables may be created for a product to be manufactured, components used in the product, component supplier information, scheduling information, and other aspects of a manufacturing process. As a data model becomes more complex, it can be difficult to determine how to retrieve data, particularly to retrieve data in an efficient manner Accordingly, room for improvement exists.